package com.sf.fy.uav.applet.user.service;

import com.alibaba.fastjson.JSONObject;
import com.sf.fy.uav.common.request.order.task.SubmitTaskRequest;
import com.sf.fy.uav.common.request.order.task.TaskGoodsRequest;
import com.sf.fy.uav.common.request.order.task.TaskRequest;
import com.sf.fy.uav.common.response.IdResponse;
import com.sf.fy.uav.common.response.order.task.GoodsSoundRecordingResponse;
import com.sf.fy.uav.common.response.order.task.TaskStatusLogResponse;
import com.sf.fy.uav.common.response.user.TaskDetailResponse;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author LTQ
 */
public interface AboutUserService {

    /**
     * 提交任务
     *
     * @param taskRequest
     * @return
     */
    IdResponse addTask(TaskRequest taskRequest);

    /**
     * 提交任务
     *
     * @param submitTaskRequest
     * @return
     */
    void submitTask(SubmitTaskRequest submitTaskRequest);


    /**
     * 获取订单详情
     *
     * @param orderCode
     * @return
     */
    JSONObject getOrderInfo(String orderCode);

    /**
     * 取消任务
     *
     * @param id
     */
    void cancelTask(@RequestParam String id);

    /**
     * 查询任务详情
     *
     * @param id
     */
    TaskDetailResponse getTaskDetail(@RequestParam String id);

    /**
     * @param taskId
     * @return
     */
    List<TaskStatusLogResponse> getTaskStatusLog(String taskId);

    /**
     * @param taskId
     * @return
     */
    List<GoodsSoundRecordingResponse> getGoodsSoundRecording(String taskId);

    /**
     * 更新商品
     *
     * @param taskGoodsRequest
     */
    void updateGoods(TaskGoodsRequest taskGoodsRequest);
}
